package com.bjsxt.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author:liao
 * @Description:TODO 采购单据主表
 * @date:2020/12/23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("com-bjsxt-dto-PurchaseDto")
@EqualsAndHashCode(callSuper = true) //表示使用equals比较时考虑父类的属性
public class PurchaseDto extends BaseDto{
    // 采购单id
    @ApiModelProperty(value = "采购单Id")
    @NotBlank(message = "采购单id不能为空")
    private String purchaseId;
    // 供应商id
    @ApiModelProperty(value = "供应商Id")
    @NotBlank(message = "供应商Id不能为空")
    private String providerId;
    // 采购批发总额
    @ApiModelProperty(value = "采购批发总额")
    @NotNull(message = "采购批发总额不能为空")
    private BigDecimal purchaseTradeTotalAmount;
    // 单据状态 1未提交 2待审核 3审核通过 4审核失败 5作废 6入库成功
    @ApiModelProperty(value = "单据状态 1未提交 2待审核 3审核通过 4审核失败 5作废 6入库成功")
    private String status;
    // 申请人id
    @ApiModelProperty(value = "申请人id")
    private Long applyUserId;
    // 申请人名称
    @ApiModelProperty(value = "申请人名称")
    private String applyUserName;
    // 入库操作人
    @ApiModelProperty(value = "入库操作人")
    private String storageOptUser;
    // 入库操作时间
    @ApiModelProperty(value = "入库操作时间")
    private Date storageOptTime;
    // 审核信息
    @ApiModelProperty(value = "审核信息")
    private String examine;
}
